package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JOptionPane;

import objetos.paddle;
import objetos.patinete;
import objetos.tabla_surf;

import pr2.Menu_ppal;
import pr2.menu_alta;

public class controller {
	
	Menu_ppal menu_p;
	menu_alta menu;
	private String[] tipos = { "Tabla de surf", "Patinete" , "Paddle"};
	private String[] estados = { "Disponible", "En reparación" , "Alquilado"};
	
	public controller(Menu_ppal mp){
		menu_p = mp;
		
		menu_p.setActionListener(new controllerActionListener1());
		
	}




public class controllerActionListener1 implements ActionListener {

	@Override
	public void actionPerformed(ActionEvent ae) {
		String comando = ae.getActionCommand();
		
		switch(comando){
		case "botonComprar" :
			menu = new menu_alta();
			menu.setActionListener(new controllerActionListener1());
			break;
		case "botonAlquilar" :
			break;
		case "botonDevolucion" :
			break;
		case "botonListar" :
			break;
		case "botonCambiar" :
			break;
		case "botonSalir" :
			break;
		case "code" :
			break;
		case "price" :
			
			break;

		case "aceptar" :
		String codigo = menu.getIn_code().getText();
		String precio = menu.getIn_price().getText();
		boolean ok = true;
		Integer code = 0;
		Integer price = 0;
		try{
			 code = Integer.parseInt(codigo);
		}
		catch(NumberFormatException e){
			JOptionPane.showMessageDialog(null,
				    "Codigo invalido. Se esperaban numeros.",
				    "ERROR",
				    JOptionPane.ERROR_MESSAGE);
			ok = false;
		}
		try{
			 price = Integer.parseInt(precio);
		}
		catch(NumberFormatException e){
			JOptionPane.showMessageDialog(null,
				    "Precio invalido. Se esperaban numeros enteros.",
				    "ERROR",
				    JOptionPane.ERROR_MESSAGE);
			ok = false;
		}
		
		if (ok == true)
		{
			if(codigo.length() == 4){
				
				String tipo = tipos[menu.getJc_tipo().getSelectedIndex()];
				switch(tipo){
				case "Tabla de surf":
					tabla_surf item = new tabla_surf(code,price,estados[menu.getJc_state().getSelectedIndex()]);
					JOptionPane.showMessageDialog(null,
						    "Tabla de surf añadida correctamente.");
					break;
				case "Patinete":
					patinete item2 = new patinete(code,price,estados[menu.getJc_state().getSelectedIndex()]);
					JOptionPane.showMessageDialog(null,
						    "Patinete añadido correctamente.");
					break;
				case "Paddle":
					paddle item3 = new paddle(code,price,estados[menu.getJc_state().getSelectedIndex()]);
					JOptionPane.showMessageDialog(null,
						    "Paddle añadido correctamente.");
					break;
				}
				
				
				menu.dispose();
			}
			else
				JOptionPane.showMessageDialog(null,
					    "El codigo debe tener 4 cifras.");
		}	
		break;
		case "cancelar" :
			menu.dispose();
		break;	
	}
		
	}
}
}
